package model

var (
	Ordinary   = "ordinary"
	Fee        = "fee"
	Transfer   = "transfer"
	Management = "management"
	OpenCard   = "openCard"
	Refund     = "refund"
)

// FxCardInfo  卡信息表
type FxCardInfo struct {
	ID                  int64   `json:"id"`                    //  主键
	Email               string  `json:"email"`                 //  邮箱
	CardId              string  `json:"card_id"`               //  卡编号
	Account             string  `json:"account"`               //  代理商帐号
	CardUserId          string  `json:"card_user_id"`          //  持卡人id
	CardNo              string  `json:"card_no"`               //  卡号
	CardVerifyNo        string  `json:"card_verify_no"`        //  cvv
	Expiration          string  `json:"expiration"`            //  到期时间
	LocalCurrency       string  `json:"local_currency"`        //  卡本币种
	StartActiveDate     string  `json:"start_active_date"`     //  卡生效日期
	EndCloseDate        string  `json:"end_close_date"`        //  最晚关卡日期
	CreditLimitAmt      float64 `json:"credit_limit_amt"`      //  卡当前额度(共享卡可能不存在或者0)
	MinAuthAmt          float64 `json:"min_auth_amt"`          //  授权交易最低额度
	MaxAuthAmt          float64 `json:"max_auth_amt"`          //  授权交易最高额度(0.00表示无限大)
	BalanceAmt          float64 `json:"balance_amt"`           //  余额
	UsedAuthAmt         float64 `json:"used_auth_amt"`         //  已用额度
	EnableMultiUse      string  `json:"enable_multi_use"`      //  是否可以多次使用(1:多次,0:单次)
	EnableCurrencyCheck string  `json:"enable_currency_check"` //  是否启用交易币种验证(0：不做交易币种限制<默认>；1：只允许开卡币种作为交易币种)
	CardClosedAmt       float64 `json:"card_closed_amt"`       //  销卡金额，销卡状态下有值（针对常模式）
	CardStatus          string  `json:"card_status"`           //  3-init,0-冻结,1-使用中,2-已销卡
	CardStatusDesc      string  `json:"card_status_desc"`      //  卡状态描述
	CreateCardTime      string  `json:"create_card_time"`      //  开卡时间
}

// FxCardholder  持卡人信息
type FxCardholder struct {
	ID             int64  `json:"id"`               //  主键
	CardUserId     string `json:"card_user_id"`     //  持卡人id
	FirstName      string `json:"first_name"`       //  持卡人姓
	LastName       string `json:"last_name"`        //  持卡人名字
	MiddleName     string `json:"middle_name"`      //  中间名字
	Email          string `json:"email"`            //  邮箱
	MobilePreFix   string `json:"mobile_pre_fix"`   //  手机号前缀
	Mobile         string `json:"mobile"`           //  手机号
	BirthDate      string `json:"birth_date"`       //  出生日期
	CountryCode    string `json:"country_code"`     //  国家代码
	BillingState   string `json:"billing_state"`    //  账单省/州
	BillingCity    string `json:"billing_city"`     //  账单城市
	BillingAddress string `json:"billing_address"`  //  账单详细地址
	BillingZipCode string `json:"billing_zip_code"` //  账单地址的邮编
	Remark         string `json:"remark"`           //  备注
	HolderStatus   string `json:"holder_status"`    // 持人状态:0#禁用 1#启用 2#删除 3#处理中'
}

// FxCardTradeRecord  卡交易流水表
type FxCardTradeRecord struct {
	ID                   int64  `json:"id"`                 //  主键
	RecordNo             string `json:"record_no"`          //  记录编号
	CardId               string `json:"card_id"`            //  卡id
	OccurTime            string `json:"occur_time"`         //  交易发生时间
	TransCurrency        string `json:"trans_currency"`     //  交易币种
	TransCurrencyAmt     string `json:"trans_currency_amt"` //  交易金额
	LocalCurrency        string `json:"local_currency"`     //  卡币种
	LocalCurrencyAmt     string `json:"local_currency_amt"` //  卡本币种交易金额
	RespCode             string `json:"resp_code"`          //
	RespCodeDesc         string `json:"resp_code_desc"`     //
	MerchantName         string `json:"merchant_name"`      //  商户名称
	MerchantCategoryCode string `json:"merchant_category_code"`
	CrossBoardType       string `json:"cross_board_type"` //  跨境类型：0:境内，1:境外
	TransType            string `json:"trans_type"`       //  交易类型:auth-消费,refund-退款,reversal-冲正
	TransStatus          string `json:"trans_status"`     //  交易状态:approved-批准,declined-拒绝
}

// FxCardOrder  卡订单表
type FxCardOrder struct {
	ID         int64   `json:"id"`          //  主键
	OrderId    string  `json:"order_id"`    //  唯一订单号
	CardId     string  `json:"card_id"`     //  卡id
	UserReqNo  string  `json:"user_req_no"` //  请求流水号
	OpType     int64   `json:"op_type"`     //  订单类型：0#开卡申请 1#充值 3#销卡 4#退款
	Status     int64   `json:"status"`      //  订单状态：0待处理 1处理中 2成功 3失败 4init
	StatusDesc string  `json:"status_desc"` //  状态描述
	Amount     float64 `json:"amount"`      //  交易金额
	Fee        float64 `json:"fee"`         //  手续费
}

// FxCardOtp  卡OTP信息
type FxCardOtp struct {
	ID                  int64  `json:"id"` //  主键
	Otp                 string `json:"otp"`
	CardId              string `json:"card_id"`              //  卡id
	CardNo              string `json:"card_no"`              //  卡号
	TransactionCurrency string `json:"transaction_currency"` //  交易币种
	TransactionAmount   string `json:"transaction_amount"`   //  交易金额
	MerchantName        string `json:"merchant_name"`        //  商户名称
}

// FxCallbackFailInfo  回调失败记录
type FxCallbackFailInfo struct {
	ID      int64  `json:"id"`      //  主键
	Account string `json:"account"` //
	Url     string `json:"url"`     //
	Params  string `json:"params"`  //
	Type    string `json:"type"`    //
	Status  string `json:"status"`  // fail,success
}

// FxTradeFee  卡交易手续表
type FxTradeFee struct {
	ID        int64  `json:"id"`         //  主键
	RecordNo  string `json:"record_no"`  //  记录编号
	ReceiptNo string `json:"receipt_no"` // 收费凭证
	UserNo    string `json:"user_no"`    // 用户号
	CardId    string `json:"card_id"`    //  卡id
	RealCcy   string `json:"real_ccy"`   //  收费币种
	RealFee   string `json:"real_fee"`   //  交易币种手续费
	OpType    string `json:"op_type"`    //  收费类型
	OccurTime string `json:"occur_time"` //  交易发生时间
}

// FxCardSettlement  清算表
type FxCardSettlement struct {
	ID               int64  `json:"id"`                 //  主键
	RecordNo         string `json:"record_no"`          //  记录编号
	CardId           string `json:"card_id"`            //  卡id
	SettleDate       string `json:"settle_date"`        //  账单日期
	TransCurrency    string `json:"trans_currency"`     //  交易币种
	TransCurrencyAmt string `json:"trans_currency_amt"` //  交易金额
	BillCurrency     string `json:"bill_currency"`      //  账单币种
	BillCurrencyAmt  string `json:"bill_currency_amt"`  //  账单金额
	ApprovalCode     string `json:"approval_code"`      //  授权码
	IsCredit         string `json:"is_credit"`          //  1:收(退款) 0:付(消费)
	MerchantName     string `json:"merchant_name"`      //  商户名称
	OriginRecordNo   string `json:"origin_record_no"`   //  原记录编号
}

// FxHolderHead  持卡人和卡头关联表
type FxHolderHead struct {
	ID          int64  `json:"id"`           //  主键
	CardUserId  string `json:"card_user_id"` //  持卡人id
	FirstName   string `json:"first_name"`   //
	LastName    string `json:"last_name"`    //
	CountryCode string `json:"country_code"`
	CardHead    string `json:"card_head"` //  卡头
}
